package com.treasure.mall.biz.dto.condition;

import com.treasure.mall.biz.dto.BaseSearchDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 接口商品收缩
 *
 * @author wm
 */
@ApiModel("商品列表筛选实体参数对象")
@Data
public class ProductApiSearchCondition implements BaseSearchDTO {
    /**
     * 商家id
     */
    @ApiModelProperty("商家ID,商家店铺/首页时，需要传入")
    private Long merchantId;
    /**
     * 商品类型，{@link com.treasure.mall.zbq.common.ienum.product.ProductEnums.ProductType}
     */

    @ApiModelProperty(value = "商家类型，0普通商品，1直播商品", required = true)
    private Integer productType;
    /**
     * 名称关键字
     */
    @ApiModelProperty(value = "商品关键词")
    private String keyword;
    /**
     * 类目id(无所谓第几层)
     */
    @ApiModelProperty(value = "类目ID")
    private Long catId;
    /**
     * 房间id
     */
    @ApiModelProperty(value = "直播房间ID，用于查询直播房间的商品")
    private Long roomId;
    /**
     * 商品标签，{@link com.treasure.mall.zbq.common.ienum.product.ProductEnums.ProductTag}
     */
    @ApiModelProperty(value = "商品标签", hidden = true)
    private List<Integer> tags;

    /**
     * 排序类型：0：默认，1：价格
     */

    @ApiModelProperty(value = "价格排序，0：默认，1：价格")
    private Integer sortField = 0;
    /**
     * 0：正序；1倒序（默认排序不受影响）
     */

    @ApiModelProperty(value = "0：正序；1倒序（默认排序不受影响）")
    private Integer sortType = 0;

    @ApiModelProperty(value = "页码")
    private Integer page = 1;

    @ApiModelProperty(value = "每页数量")
    private Integer size = 20;


    @ApiModelProperty(value = "标签类型", hidden = true)
    private Integer tagType;

    @ApiModelProperty(value = "1上架 0下架，店铺管理中使用到，默认上架商品")
    private Integer statusCode = 1;
    /**
     * 推荐
     */
    @ApiModelProperty(value = "1推荐 0 不推荐，店铺管理中使用到，置顶的概念")
    private Integer recommendFlag;
    /**
     * 是否公开直播商品
     */
    @ApiModelProperty(value = "是否公开直播商品，直播间商品列表中使用，传入1")
    private Integer publicity;
}